package com.cl.unipay4j.ali.pay;

import com.cl.unipay4j.core.IBaseEnum;

/**
 * 支付宝支付类型
 *
 * @author siashan
 * @since v1.0.1
 **/
public enum AliTradeTypeEnum implements IBaseEnum<String> {
    /**
     * 电脑网站支付
     */
    PC("PC", "电脑网站支付", "用户通过支付宝完成支付，交易款项即时到账"),
    /**
     * APP支付
     */
    APP("APP", "APP支付", "接入支付宝SDK，用户支付时唤起支付宝完成支付"),
    /**
     * 手机网站支付
     */
    WAP("WAP", "手机网站支付", "移动端唤起支付宝钱包或者网页收银台完成收银"),
    /**
     * 付款码支付
     */
    MICROPAY("MICROPAY", "付款码支付", "商家使用扫码枪等条码识别设备，扫描用户支付宝钱包上的 条码/二维码，完成收款。用户仅需出示付款码，所有收款操作由商家端完成"),
    /**
     * 扫码支付
     */
    NATIVE("NATIVE", "扫码支付", "收银员通过收银台或商户后台调用支付宝接口，生成二维码后，展示给用户，由用户扫描二维码完成订单支付"),
    /**
     * 当面付-付款码支付-统一收单交易创建
     */
    FACE("FACE", "当面付", "收银员通过收银台或商户后台调用支付宝接口，生成二维码后，展示给用户，由用户扫描二维码完成订单支付"),
    /**
     * JASPI支付
     */
    JASPI("JASPI", "JASPI支付", "JSAPI支付 是指商家在支付宝 App 中，通过调用支付宝提供的 JSAPI 接口，在支付场景中唤起支付宝收银台完成收款的一款支付产品。可选择接入 商家分账 产品，资金在到达商家的支付宝账号后，支付宝根据商家传入的分账规则，将相应的资金从商家的支付宝账号划转至分账对象的支付宝账号"),
    ;
    private String value;
    private String desp;
    private String scene;

    AliTradeTypeEnum(String value, String desp, String scene) {
        this.value = value;
        this.desp = desp;
        this.scene = scene;
    }

    @Override
    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }

    @Override
    public String getDesp() {
        return desp;
    }

    public void setDesp(String desp) {
        this.desp = desp;
    }

    public String getScene() {
        return scene;
    }

    public void setScene(String scene) {
        this.scene = scene;
    }

}
